#include<iostream>
#include<vector>
#include<queue>
#include<cstring>
#include<cmath>
#include<map>
#include<set>
#include<cstdio>
#include<algorithm>
#define debug(a) cout<<#a<<"="<<a<<endl;
using namespace std;
const int maxn=200;
typedef long long LL;
inline LL read(){LL x=0,f=1;char ch=getchar();	while (!isdigit(ch)){if (ch=='-') f=-1;ch=getchar();}while (isdigit(ch)){x=x*10+ch-48;ch=getchar();}
return x*f;}
LL a[maxn][maxn],b[10];
bool flag=1;
void check(LL n){
    LL num1=0;LL num2=0;LL num3=0;LL num4=0;
    for(LL i=1;i<=n;i++){
        if(a[1][i]==1) num1++;
    }
    for(LL i=1;i<=n;i++){
        if(a[i][n]==1) num2++;
    }
    for(LL i=1;i<=n;i++){
        if(a[n][i]==1) num3++;
    }
    for(LL i=1;i<=n;i++){
        if(a[i][1]==1) num4++;
    }
    for(LL i=1;i<=n;i++){
        for(LL j=1;j<=n;j++){
            cout<<a[i][j]<<" ";
        }
        cout<<"\n";
    }
    cout<<"\n";
    debug(num1);debug(num2);debug(num3);debug(num4);
    if(num1==b[1]&&num2==b[2]&&num3==b[3]&&num4==b[4]) flag=0;
    return;
}
void cl(LL now,LL id,LL n){
    if(now==1){
            if(id==1){
                for(LL i=1;i<=b[now];i++){
                    a[1][i]=0;
                }
            }
            if(id==2){
                for(LL i=n;i>=n-b[now]+1;i--){
                    a[1][i]=0;
                }
            }
    }
    if(now==2){
            if(id==1){
                for(LL i=1;i<=b[now];i++){
                    a[i][n]=0;
                }
            }
            if(id==2){
                for(LL i=n;i>=n-b[now]+1;i--){
                    a[i][n]=0;
                }
            }
    }
    if(now==3){
            if(id==1){
                for(LL i=1;i<=b[now];i++){
                    a[n][i]=0;
                }
            }
            if(id==2){
                for(LL i=n;i>=n-b[now]+1;i--){
                    a[n][i]=0;
                }
            }
    }
    if(now==4){
            if(id==1){
                for(LL i=1;i<=b[now];i++){
                    a[i][1]=0;
                }
            }
            if(id==2){
                for(LL i=n;i>=n-b[now]+1;i--){
                    a[i][1]=0;
                }
            }
    }
}
void dfs(LL now,LL n,LL sum){
    if(flag==0) return;
    if(sum>=5){
        check(n);
        return;
    }
    {
        if(now==1){
            for(LL i=1;i<=b[now];i++){
                a[1][i]=1;
            }
            dfs(now+1,n,sum+1);
            cl(now,1,n);
            if(b[now]<n-1){
                for(LL i=2;i<=2+b[now]-1;i++){
                    a[1][i]=1;
                }
                dfs(now+1,n,sum+1);
                for(LL i=2;i<=2+b[now]-1;i++){
                    a[1][i]=0;
                }
            }

            for(LL i=n;i>=n-b[now]+1;i--){
                a[1][i]=1;
            }
            dfs(now+1,n,sum+1);

            cl(now,2,n);
        }
        if(now==2){
            for(LL i=1;i<=b[now];i++){
                a[i][n]=1;
            }
            dfs(now+1,n,sum+1);
            cl(now,1,n);
            if(b[now]<n-1){
                for(LL i=2;i<=2+b[now]-1;i++){
                    a[i][n]=1;
                }
                dfs(now+1,n,sum+1);
                for(LL i=2;i<=2+b[now]-1;i++){
                    a[i][n]=0;
                }
            }
            for(LL i=n;i>=n-b[now]+1;i--){
                a[i][n]=1;
            }
            dfs(now+1,n,sum+1);
            cl(now,2,n);
        }
        if(now==3){
            for(LL i=1;i<=b[now];i++){
                a[n][i]=1;
            }
            dfs(now+1,n,sum+1);

            cl(now,1,n);
            if(b[now]<n-1){
                for(LL i=2;i<=2+b[now]-1;i++){
                    a[n][i]=1;
                }
                dfs(now+1,n,sum+1);
                for(LL i=2;i<=2+b[now]-1;i++){
                    a[n][i]=0;
                }
            }
            for(LL i=n;i>=n-b[now]+1;i--){
                a[n][i]=1;
            }
            dfs(now+1,n,sum+1);

            cl(now,2,n);
        }
        if(now==4){
            for(LL i=1;i<=b[now];i++){
                a[i][1]=1;
            }
            dfs(1,n,sum+1);
            cl(now,1,n);
            if(b[now]<n-1){
                for(LL i=2;i<=2+b[now]-1;i++){
                    a[i][1]=1;
                }
                dfs(1,n,sum+1);
                for(LL i=2;i<=2+b[now]-1;i++){
                    a[i][1]=0;
                }
            }
            for(LL i=n;i>=n-b[now]+1;i--){
                a[i][1]=1;
            }
            dfs(1,n,sum+1);
            cl(now,2,n);
        }
    }
    return;
}
int main(void)
{
  cin.tie(0);std::ios::sync_with_stdio(false);
  LL t;cin>>t;
  while(t--){
    LL n;cin>>n;
    flag=1;
    memset(a,0,sizeof(a));
    for(LL i=1;i<=4;i++) cin>>b[i];
    dfs(1,n,1);
    if(1==flag){
        cout<<"NO"<<"\n";
    }
    else cout<<"YES"<<"\n";
  }
return 0;
}
